using System;
using ns27;
using Triton.Game.Mono;

namespace Triton.Game.Mapping
{
	[Attribute38("PegCursor")]
	public class PegCursor : MonoBehaviour
	{
		public enum Mode
		{
			UP,
			DOWN,
			OVER,
			DRAG,
			STOPDRAG,
			WAITING,
			STOPWAITING,
			LEFTARROW,
			RIGHTARROW,
			NONE
		}

		public Vector2 m_cursorUpHotspot => method_2<Vector2>("m_cursorUpHotspot");

		public Vector2 m_cursorDownHotspot => method_2<Vector2>("m_cursorDownHotspot");

		public Vector2 m_cursorDragHotspot => method_2<Vector2>("m_cursorDragHotspot");

		public Vector2 m_cursorOverHotspot => method_2<Vector2>("m_cursorOverHotspot");

		public Vector2 m_cursorWaitingHotspot => method_2<Vector2>("m_cursorWaitingHotspot");

		public Vector2 m_cursorWaitingDownHotspot => method_2<Vector2>("m_cursorWaitingDownHotspot");

		public Vector2 m_cursorWaitingUpHotspot => method_2<Vector2>("m_cursorWaitingUpHotspot");

		public Vector2 m_leftArrowHotspot => method_2<Vector2>("m_leftArrowHotspot");

		public Vector2 m_rightArrowHotspot => method_2<Vector2>("m_rightArrowHotspot");

		public Vector2 m_cursorUpHotspot64 => method_2<Vector2>("m_cursorUpHotspot64");

		public Vector2 m_cursorDownHotspot64 => method_2<Vector2>("m_cursorDownHotspot64");

		public Vector2 m_cursorDragHotspot64 => method_2<Vector2>("m_cursorDragHotspot64");

		public Vector2 m_cursorOverHotspot64 => method_2<Vector2>("m_cursorOverHotspot64");

		public Vector2 m_cursorWaitingHotspot64 => method_2<Vector2>("m_cursorWaitingHotspot64");

		public Vector2 m_cursorWaitingDownHotspot64 => method_2<Vector2>("m_cursorWaitingDownHotspot64");

		public Vector2 m_cursorWaitingUpHotspot64 => method_2<Vector2>("m_cursorWaitingUpHotspot64");

		public Vector2 m_leftArrowHotspot64 => method_2<Vector2>("m_leftArrowHotspot64");

		public Vector2 m_rightArrowHotspot64 => method_2<Vector2>("m_rightArrowHotspot64");

		public GameObject m_explosionPrefab => method_3<GameObject>("m_explosionPrefab");

		public Mode m_currentMode => method_2<Mode>("m_currentMode");

		public PegCursor(IntPtr address, string className)
			: base(address, className)
		{
		}

		public PegCursor(IntPtr address)
			: this(address, "PegCursor")
		{
		}

		public static PegCursor Get()
		{
			return MonoClass.smethod_15<PegCursor>(TritonHs.MainAssemblyPath, "", "PegCursor", "Get", Array.Empty<object>());
		}

		public void Awake()
		{
			method_8("Awake");
		}

		public void OnDestroy()
		{
			method_8("OnDestroy");
		}

		public void Show()
		{
			method_8("Show");
		}

		public void Hide()
		{
			method_8("Hide");
		}

		public void SetMode(Mode mode)
		{
			method_8("SetMode", mode);
		}

		public Mode GetMode()
		{
			return method_11<Mode>("GetMode", Array.Empty<object>());
		}

		public GameObject GetExplosionPrefab()
		{
			return method_14<GameObject>("GetExplosionPrefab", Array.Empty<object>());
		}
	}
}
